﻿namespace WMS6.Services
{
    using System;
    using System.Collections.Generic;
    using System.Data;
    using System.ServiceModel;
    using WMS6.Common;
    using WMS6.DataEntity;
    using WMS6.QueryEntity;

    [ServiceContract(Namespace="WMS6.Services")]
    public interface ITaskMgtService
    {
        [FaultContract(typeof(FaultDetail)), OperationContract]
        string DeleteTaskDetail(List<string> taskDetailID, PubParasInfo pubParasInfo);
        [FaultContract(typeof(FaultDetail)), OperationContract]
        string DeleteTaskManagerUser(List<string> userID, PubParasInfo pubParasInfo);
        [FaultContract(typeof(FaultDetail)), OperationContract]
        string DeleteTaskManagerUserDetail(string userID, List<string> LineID, PubParasInfo pubParasInfo);
        [OperationContract, FaultContract(typeof(FaultDetail))]
        DataSet GetAllTaskDetail(PubParasInfo pubParasInfo);
        [FaultContract(typeof(FaultDetail)), OperationContract]
        DataSet GetAllTaskManagerUser(PubParasInfo pubParasInfo);
        [ServiceKnownType(typeof(TaskDetailInfo)), OperationContract, FaultContract(typeof(FaultDetail))]
        TaskDetailInfo GetTaskDetailByID(string taskdetailID, PubParasInfo pubParasInfo);
        [FaultContract(typeof(FaultDetail)), OperationContract, ServiceKnownType(typeof(TaskDetailQueryEntity))]
        DataSet GetTaskDetailByQueryList(TaskDetailQueryEntity taskdetailQuery, PubParasInfo pubParasInfo);
        [FaultContract(typeof(FaultDetail)), OperationContract, ServiceKnownType(typeof(TaskManagerUserInfo))]
        TaskManagerUserInfo GetTaskManagerUserByID(string userID, PubParasInfo pubParasInfo);
        [ServiceKnownType(typeof(TaskManagerUserQueryEntity)), OperationContract, FaultContract(typeof(FaultDetail))]
        DataSet GetTaskManagerUserByQueryList(TaskManagerUserQueryEntity taskManagerUserQueryEntity, PubParasInfo pubParasInfo);
        [FaultContract(typeof(FaultDetail)), OperationContract, ServiceKnownType(typeof(TaskManagerUserDetailInfo))]
        TaskManagerUserDetailInfo GetTaskManagerUserDetailByID(string userID, string lineID, PubParasInfo pubParasInfo);
        [OperationContract, FaultContract(typeof(FaultDetail))]
        string InsertTaskDetail(TaskDetailInfo taskDetailInfo, PubParasInfo pubParasInfo);
        [OperationContract, FaultContract(typeof(FaultDetail))]
        string InsertTaskManagerUser(TaskManagerUserInfo taskManagerUserInfo, PubParasInfo pubParasInfo);
        [FaultContract(typeof(FaultDetail)), OperationContract]
        string InsertTaskManagerUserDetail(TaskManagerUserDetailInfo taskManagerUserDetailInfo, PubParasInfo pubParasInfo);
        [FaultContract(typeof(FaultDetail)), OperationContract]
        string UpdateTaskDetail(TaskDetailInfo taskDetailInfo, PubParasInfo pubParasInfo);
        [OperationContract, FaultContract(typeof(FaultDetail))]
        string UpdateTaskManagerUser(TaskManagerUserInfo taskManagerUserInfo, PubParasInfo pubParasInfo);
        [OperationContract, FaultContract(typeof(FaultDetail))]
        string UpdateTaskManagerUserDetail(TaskManagerUserDetailInfo taskManagerUserDetailInfo, PubParasInfo pubParasInfo);
    }
}

